/**
 * 依赖注入（DI）容器统一导出
 * 
 * @author AI Assistant
 * @date 2025-11-27
 */

// 核心容器
export {
    DIContainer,
    ServiceLifetime,
    container,
    configureContainer
} from './DIContainer';

export type {
    ServiceIdentifier,
    ServiceFactory,
    ServiceConstructor
} from './DIContainer';

// 装饰器和标识符
export {
    Injectable,
    Inject,
    LazyInject,
    PostConstruct,
    ServiceIdentifiers,
    registerServices
} from './Decorators';

// 示例（仅用于参考）
export {
    ConfigManager,
    LoggerService,
    ServiceWithDependency,
    Application,
    runDIExamples
} from './DIRefactoringExamples';

/**
 * 快速使用指南：
 * 
 * 1. 定义服务：
 * ```typescript
 * @Injectable(ServiceLifetime.SINGLETON, ServiceIdentifiers.MyService)
 * export class MyService {
 *     constructor() {}
 * }
 * ```
 * 
 * 2. 注入依赖：
 * ```typescript
 * @Injectable(ServiceLifetime.SINGLETON)
 * export class OtherService {
 *     @Inject(ServiceIdentifiers.MyService)
 *     private myService!: MyService;
 * }
 * ```
 * 
 * 3. 解析服务：
 * ```typescript
 * const service = container.resolve<MyService>(ServiceIdentifiers.MyService);
 * ```
 * 
 * 4. 配置容器（应用启动时）：
 * ```typescript
 * import { container, ServiceIdentifiers } from '../core/di';
 * 
 * container.registerSingleton(ServiceIdentifiers.MyService, MyService);
 * container.registerTransient('TempService', TempService, [ServiceIdentifiers.MyService]);
 * ```
 */

